Consulta de Guías Docentes



Academic Year/course: 2021/22

439 - Bachelor's Degree in Informatics Engineering

30259 - Agile Methodologies and Quality


Syllabus Information

Academic Year:
2021/22
Subject:
30259 - Agile Methodologies and Quality
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
439 - Bachelor's Degree in Informatics Engineering
ECTS:
6.0
Year:
4
Semester:
Second semester
Subject Type:
---
Module:
---

1. General information

1.1. Aims of the course

In this course the student will learn to tackle the development of software projects by applying agile methodologies and model-driven techniques for the assessment of software quality, where the quality is a basic principle to guarantee.

These objectives are aligned with some of the Sustainable Development Goals, SDG, of the Agenda 2030
(https://www.un.org/sustainabledevelopment/en/) and certain specific targets, in such a way that the acquisition of the learning outcomes of the course provides training and competence to the student to contribute in certain measure to their achievement:

  • Goal 4: Quality education.
  • Goal 5: Achieve gender equality and empower all women and girls.
    • Target 5.b. Enhance the use of enabling technology, in particular information and communications technology, to promote the empowerment of women.
  • Goal 9: Build resilient infrastructure, promote sustainable industrialization and foster innovation.
    • Target 9.1. Develop quality, reliable, sustainable and resilient infrastructure, including regional and transborder infrastructure, to support economic development and human well-being, with a focus on affordable and equitable access for all.
  • Goal 16: Promote just, peaceful and inclusive societies.
    • Target 16.6. Develop effective, accountable and transparent institutions at all levels.
    • Target 16.7. Ensure responsive, inclusive, participatory and representative decision-making at all levels.

1.2. Context and importance of this course in the degree

This subject is offered as optional in the Software Engineering Mention of the Bachelor's Degree in Computer Engineering.

1.3. Recommendations to take this course

It is recommended that the student has previously acquired basic principles and techniques of software engineering and project management.

2. Learning goals

2.1. Competences

  • Plan, conceive, deploy and manage projects, services and information systems in all areas.
  • Lead the deployment and continuous improvement of projects, services and information systems and assess their economic and social impact.
  • Know and apply the principles, methodologies and life cycles of software engineering.

2.2. Learning goals

To pass this course, the student will have to demonstrate the following results:

He/she knows the concepts related to the quality of software processes and quality metrics.

He/she knows the most current standards and methodologies in the field of software quality.

He/she knows the paradigm of model-driven software engineering and how to use it for the assessment of software performance and dependability.

He/she knows code review techniques to remove software vulnerabilities within a secure-oriented software development.

He/she knows the foundations of agile methodologies, the currents standards and approaches in this field, and how to apply them within a software project development.

2.3. Importance of learning goals

Nowadays, every good computer engineer must have the knowledge and skills necessary to face the management and execution of a software project.

Agile methodologies are becoming a way of approaching the development of software projects that is key to their success. The most relevant worldwide ICT companies such as Google, Microsoft, Facebook, Amazon, Spotify or Salesforce recognize that part of their success lies in their agile model of planning, organizing and addressing the short, medium and long terms
of their projects.

The number of companies in the world that use agile methodologies has increased exponentially in the last decade, since it has been shown that an agile approach in software project development increases the chances of their success. In the same way, there is an increasing demand for professionals  with experience in agile approaches who are able to integrate into workteams and successfully carry out each one of the phases of the agile development of a software project.

Agile methodologies come hand in hand with the quality of software processes, therefore it is essential to have specific training in methodologies for the quality assessment of the software product.

3. Assessment (1st and 2nd call)

3.1. Assessment tasks (description of tasks, marking system and assessment criteria)

The student will have to demonstrate that he/she achieved the expected learning goals through the following evaluation activities:

Continuous assessment

  • Practical work (40%). The objective of the works is to assess the knowledge and skills acquired by the students
    in the practical sessions.
  • Project presentation (40%). Students will be asked to work in team to manage and develop a software project.
  • Periodic deliverables (20%). Students will be asked to solve exercise and problems.

Global assessment

For students who do not opt for the continuous assessment, a global assessment exam is planned.
The exam will include questions and/or problems related to the topics taught during the course.
The type and complexity of the questions/problems will be similar to those presented during the classes and practical sessions. The quality and clarity of the answers will be valued, as well as the proposed solution strategies.

4. Methodology, learning tasks, syllabus and resources

4.1. Methodological overview

The methodology followed in this course is oriented towards the achievement of the learning objectives.  A wide range of teaching and learning tasks are implemented, such as:

  • lectures provided by the professors,
  • work developed in practice sessions, and
  • autonomous work and study (individual or workteam).

4.2. Learning tasks

The course includes the following learning tasks: 

The activities will be divided into theory sessions, problem-solving sessions (with and without professor tutelage), practical sessions, work in groups, and evaluation activities.

4.3. Syllabus

The course will address the following topics:

Agile methodologies

  • Fundamentals, values and principles of Agile
  • Design of agile projects
  • Agile project management: Scrum, XP y Kanban
  • Transitions to Agile

Software quality

  • Fundamentals of software quality
  • Software quality metrics
  • Introduction to model-driven software engineering
  • Evaluation of software performance and dependability
  • Code review within the security-driven software development

4.4. Course planning and calendar

Sessions and presentations scheduling

The schedule of the subject will be defined by each academic center based on the academic calendar of the corresponding course.

Student Work

The dedication of the student to achieve the learning outcomes in this subject is estimated to be 150 hours distributed as follows:

  • 60 hours, approximately, of interactive activities (theoretical and problems sessions, and practical sessions)
  • 60 hours of work in groups
  • 22 effective individual hours of work and study (studying notes and texts, problem solving, class and laboratory sessions preparation, etc.)
  • 8 hours devoted to various evaluation tests


Curso Académico: 2021/22

439 - Graduado en Ingeniería Informática

30259 - Metodologías ágiles y calidad


Información del Plan Docente

Año académico:
2021/22
Asignatura:
30259 - Metodologías ágiles y calidad
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
Titulación:
439 - Graduado en Ingeniería Informática
Créditos:
6.0
Curso:
4
Periodo de impartición:
Segundo semestre
Clase de asignatura:
---
Materia:
---

1. Información Básica

1.1. Objetivos de la asignatura

La asignatura y sus resultados previstos responden a los siguientes planteamientos y objetivos:

En esta asignatura el alumno aprenderá a enfrentarse al desarrollo de proyectos software aplicando metodologías ágiles y técnicas dirigidas por modelos para la evaluación de la calidad del software, siendo la calidad un principio básico a garantizar.

Estos planteamientos y objetivos están alineados con los siguientes Objetivos de Desarrollo Sostenible (ODS) de la Agenda 2030 de Naciones Unidas (https://www.un.org/sustainabledevelopment/es/), de tal manera que la adquisición de los resultados de aprendizaje de la asignatura proporciona capacitación y competencia para contribuir en cierta medida a su logro:

  • Objetivo 4: Garantizar una educación inclusiva, equitativa y de calidad y promover oportunidades de aprendizaje durante toda la vida para todos.

  • Objetivo 5: Lograr la igualdad entre los géneros y empoderar a todas las mujeres y niñas.

    • Meta 5.b. Mejorar el uso de la tecnología instrumental, en particular la tecnología de la información y las comunicaciones, para promover el empoderamiento de las mujeres.

  • Objetivo 9: Construir infraestructuras resilientes, promover la industrialización inclusiva y sostenible y fomentar la innovación.

    • Meta 9.1. Desarrollar infraestructuras fiables, sostenibles, resilientes y de calidad, incluidas infraestructuras regionales y transfronterizas, para apoyar el desarrollo económico y el bienestar humano, haciendo especial hincapié en el acceso asequible y equitativo para todos.

  • Objetivo 16: Promover sociedades pacíficas e inclusivas para el desarrollo sostenible, facilitar el acceso a la justicia para todos y crear instituciones eficaces, responsables e inclusivas a todos los niveles

    • Meta 16.6. Crear a todos los niveles instituciones eficaces y transparentes que rindan cuentas.

    • Meta 16.7. Garantizar la adopción en todos los niveles de decisiones inclusivas, participativas y representativas que respondan a las necesidades.

1.2. Contexto y sentido de la asignatura en la titulación

Esta asignatura se oferta como optativa en la Mención de Ingeniería del Software del Grado de Ingeniería en Informática.

1.3. Recomendaciones para cursar la asignatura

Es recomendable que el alumno haya previamente adquirido formación básica en principios y técnicas de ingeniería del software y gestión de proyectos.

2. Competencias y resultados de aprendizaje

2.1. Competencias

Al superar la asignatura, el estudiante será más competente para...

Planificar, concebir, desplegar y dirigir proyectos, servicios y sistemas informáticos en todos los ámbitos, liderando su puesta en marcha y su mejora continua y valorando su impacto económico y social.

Conocer y aplicar los principios, metodologías y ciclos de vida de la ingeniería de software.

2.2. Resultados de aprendizaje

El estudiante, para superar esta asignatura, deberá demostrar los siguientes resultados...

Conoce los conceptos vinculados a la calidad de los procesos del software y métricas sobre los mismos.

Conoce un mapa de los estándares y metodologías más actuales en el campo de la calidad del software.

Conoce el paradigma de ingeniería del software dirigida por el modelado (Model-driven software enginering) y sabe utilizarlo para la evaluación del rendimiento y fiabilidad del software.

Conoce técnicas de revisión de código para la eliminación de vulnerabilidades, en el contexto del desarrollo del software orientado a la seguridad.

Conoce las bases de las metodologías ágiles y un mapa de los estándares y aproximaciones más actuales en este campo. Sabe cómo desarrollar un proyecto software sobre alguna de las mismas.

2.3. Importancia de los resultados de aprendizaje

En la época en la que nos encontramos, todo buen ingeniero informático debe tener los conocimientos y habilidades necesarias para enfrentarse a la gestión y ejecución de un proyecto software. Las metodologías ágiles se están convirtiendo en una forma de abordar el desarrollo de los proyectos de software clave para el éxito de los mismos. Las empresas de tecnología más relevantes a nivel mundial como Google, Microsoft, Facebook, Amazon, Spotify o Salesforce reconocen que parte de su éxito reside en su modelo ágil de planificar, organizar y abordar el corto, medio y largo plazo de sus proyectos.

El número de empresas en el mundo que utiliza metodologías ágiles se ha visto incrementado exponencialmente en la última década, puesto que se ha demostrado que un enfoque ágil de los proyectos incrementa las probabilidades de éxito de los mismos. De la misma manera, se está viendo aumentada la demanda de profesionales con experiencia en entornos ágiles que sean capaces de integrarse en los equipos y llevar a cabo con éxito cada una de las fases en las que se divide el desarrollo ágil de un proyecto de software.

Las metodologías ágiles vienen de la mano de la calidad del proceso y el resultado, por lo que se hace indispensable tener formación específica en los métodos para analizar y alcanzar la calidad del producto desarrollado.

3. Evaluación

3.1. Tipo de pruebas y su valor sobre la nota final y criterios de evaluación para cada prueba

El estudiante deberá demostrar que ha alcanzado los resultados de aprendizaje previstos mediante las siguientes actividades de evaluación continua:

Pruebas prácticas (40%). El objetivo de las pruebas es evaluar los conocimientos y destrezas que han adquirido los alumnos en las sesiones prácticas.

Realización y/o defensa de proyectos en grupo (40%). Durante esta actividad se les planteará a los alumnos la gestión y desarrollo de un proyecto software en equipo, donde ponga en práctica los conocimientos que vaya adquiriendo durante la asignatura.

Realización de entregables periódicos (20%). Esta actividad incluye la realización de entregables relacionados con la temática de la asignatura, donde los alumnos deberán aplicar los conocimientos adquiridos.

Para los estudiantes que no opten por evaluación continua, está prevista una prueba global de evaluación en la que se plantearán cuestiones y/o problemas relacionados con el programa impartido en la asignatura. Su tipología y complejidad será similar a la presentada en las sesiones magistrales y prácticas. En general, se valorará la calidad y claridad de las respuestas, así como las estrategias de solución planteadas por los alumnos.

4. Metodología, actividades de aprendizaje, programa y recursos

4.1. Presentación metodológica general

El proceso de aprendizaje que se ha diseñado para esta asignatura se basa en lo siguiente:

El aprendizaje se obtendrá a partir de tres entradas: la sesiones explicativas del profesorado, los trabajos desarrollados en las sesiones prácticas y el trabajo del alumno (individual o en grupo).

4.2. Actividades de aprendizaje

El programa que se ofrece al estudiante para ayudarle a lograr los resultados previstos comprende las siguientes actividades...

Las actividades se organizarán en base a las exposiciones teóricas, la resolución de problemas (con y sin tutela del profesor), las prácticas, el trabajo en equipo y las actividades de evaluación.

 

4.3. Programa

El programa de la asignatura consta de dos partes:

Metodologías ágiles

  • Fundamentos, valores y principios del Agile
  • Diseño de proyectos ágiles
  • Dirección de proyectos ágiles: Scrum, XP y Kanban
  • Transiciones al Agile

Calidad del software

  • Fundamentos de la calidad del software
  • Métricas de la calidad del software
  • Introducción al paradigma de ingeniería del software dirigido por modelos
  • Evaluación del rendimiento y fiabilidad del software
  • Revisión de código en el desarrollo del software orientado a la seguridad

4.4. Planificación de las actividades de aprendizaje y calendario de fechas clave

Calendario de sesiones presenciales y presentación de trabajos

El calendario de la asignatura estará definido por el centro en el calendario académico del curso correspondiente.

Trabajo del estudiante

La dedicación del estudiante para alcanzar los resultados de aprendizaje en esta asignatura se estima en 150 horas distribuidas del siguiente modo:

  • 60 horas, aproximadamente, de actividades interactivas (sesiones de teoría y de problemas y sesiones prácticas)
  • 60 horas de trabajo en grupo
  • 22 horas de trabajo y estudio individual efectivo (estudio de apuntes y textos, resolución de problemas, preparación de clases y prácticas, etc.)
  • 8 horas dedicadas a distintas pruebas de evaluación

El calendario detallado de las diversas actividades a desarrollar se establecerá una vez que la Universidad haya aprobado el calendario académico del curso correspondiente. En cualquier caso, las fechas importantes serán anunciadas con la suficiente antelación.